<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function getData(url) {
            //Ajax步骤 Get请求模板		
				//创建XMLHttpRequest()对象
				var xhr=new XMLHttpRequest();	
				//2.添加状态改变的回调函数
				xhr.onreadystatechange=function(){				
					//5.判断请求状态为4
					if(xhr.readyState==4){
						//6.判断响应状态码
						if(xhr.status>=200&&xhr.status<=300||xhr.status==304){
							console.log(xhr.response);
                            //!!异步函数无法做封装 因为封装后代码从一到四,执行完毕不会再回调,所以没有返回值!!
						}
					}
				}
				//3.打开连接设置请求方式和url
				xhr.open("GET",url)
				//4.发送请求
				xhr.send(); 
        }
        
        function show() {
            let pro=new Promise(function(resolve,reject){
                setTimeout(()=>{
                    resolve("show()成功")
                    //reject("失败");
                },2000)
            })
            return pro;
        }
        function fn() {
            return new Promise(function(resolve,reject){
                setTimeout(()=>{
                    //resolve("fn()成功")
                    reject("fn()失败");
                },4000)
            })
        }
		//let promise=show();//返回一个promise对象
        // promise.then(function (cg) {
        //     console.log(cg);
        // },function (sb) {
        //     console.log(sb);
        // })
        show().then(cg=>{
            console.log(cg);
        }).catch(err=>{
            console.log(err);//catch的使用
        })
        //Promise.all()的使用
    Promise.all([show(), fn()]).then((values) => {
        console.log(values);
    },errs=>{
        console.log(errs);
    });
    //Promise.race()的使用
    Promise.race([show(), fn()]).then((values) => {
        console.log(values);
    },errs=>{
        console.log(errs);
    });



    </script>



</body>
</html>